GtkTreeView: Use more consistent search window naming
authorJonas Ådahl <jadahl@gmail.com>
Sat, 17 Oct 2015 11:25:52 +0000 (19:25 +0800)
committerJonas Ådahl <jadahl@gmail.com>
Tue, 27 Oct 2015 00:41:02 +0000 (08:41 +0800)
Instead of alternating between search dialog and search window, use
search window everywhere.

https://bugzilla.gnome.org/show_bug.cgi?id=756780

gtk/gtktreeview.c

index a9ba64760cae965c7d14358eace44b7e021042cf..2a3b65b77176eaeafbee55bddcd82972295fd6c9 100644 (file)
@@ -790,11 +790,11 @@ static inline gint gtk_tree_view_get_row_height              (GtkTreeView *tree_
 
 /* interactive search */
 static void     gtk_tree_view_ensure_interactive_directory (GtkTreeView *tree_view);
-static void     gtk_tree_view_search_dialog_hide        (GtkWidget        *search_dialog,
+static void     gtk_tree_view_search_window_hide        (GtkWidget        *search_window,
                                                          GtkTreeView      *tree_view,
                                                          GdkDevice        *device);
 static void     gtk_tree_view_search_position_func      (GtkTreeView      *tree_view,
-                                                        GtkWidget        *search_dialog,
+                                                        GtkWidget        *search_window,
                                                         gpointer          user_data);
 static void     gtk_tree_view_search_disable_popdown    (GtkEntry         *entry,
                                                         GtkMenu          *menu,
@@ -6135,9 +6135,8 @@ gtk_tree_view_focus_out (GtkWidget     *widget,
 
   /* destroy interactive search dialog */
   if (tree_view->priv->search_window)
-    gtk_tree_view_search_dialog_hide (tree_view->priv->search_window, tree_view,
+    gtk_tree_view_search_window_hide (tree_view->priv->search_window, tree_view,
                                       gdk_event_get_device ((GdkEvent *) event));
-
   return FALSE;
 }
 
@@ -10978,7 +10977,7 @@ gtk_tree_view_real_select_cursor_parent (GtkTreeView *tree_view)
 static gboolean
 gtk_tree_view_search_entry_flush_timeout (GtkTreeView *tree_view)
 {
-  gtk_tree_view_search_dialog_hide (tree_view->priv->search_window, tree_view, NULL);
+  gtk_tree_view_search_window_hide (tree_view->priv->search_window, tree_view, NULL);
   tree_view->priv->typeselect_flush_timeout = 0;
 
   return FALSE;
@@ -14971,8 +14970,8 @@ gtk_tree_view_get_search_position_func (GtkTreeView *tree_view)
 
 
 static void
-gtk_tree_view_search_dialog_hide (GtkWidget   *search_dialog,
-                                 GtkTreeView *tree_view,
+gtk_tree_view_search_window_hide (GtkWidget   *search_window,
+                                  GtkTreeView *tree_view,
                                   GdkDevice   *device)
 {
   if (tree_view->priv->disable_popdown)
@@ -14990,11 +14989,11 @@ gtk_tree_view_search_dialog_hide (GtkWidget   *search_dialog,
       tree_view->priv->typeselect_flush_timeout = 0;
     }
        
-  if (gtk_widget_get_visible (search_dialog))
+  if (gtk_widget_get_visible (search_window))
     {
       /* send focus-in event */
       send_focus_change (GTK_WIDGET (tree_view->priv->search_entry), device, FALSE);
-      gtk_widget_hide (search_dialog);
+      gtk_widget_hide (search_window);
       gtk_entry_set_text (GTK_ENTRY (tree_view->priv->search_entry), "");
       send_focus_change (GTK_WIDGET (tree_view), device, TRUE);
     }
@@ -15002,7 +15001,7 @@ gtk_tree_view_search_dialog_hide (GtkWidget   *search_dialog,
 
 static void
 gtk_tree_view_search_position_func (GtkTreeView *tree_view,
-                                   GtkWidget   *search_dialog,
+                                   GtkWidget   *search_window,
                                    gpointer     user_data)
 {
   gint x, y;
@@ -15017,12 +15016,12 @@ gtk_tree_view_search_position_func (GtkTreeView *tree_view,
   monitor_num = gdk_screen_get_monitor_at_window (screen, tree_window);
   gdk_screen_get_monitor_workarea (screen, monitor_num, &monitor);
 
-  gtk_widget_realize (search_dialog);
+  gtk_widget_realize (search_window);
 
   gdk_window_get_origin (tree_window, &tree_x, &tree_y);
   tree_width = gdk_window_get_width (tree_window);
   tree_height = gdk_window_get_height (tree_window);
-  gtk_widget_get_preferred_size (search_dialog, &requisition, NULL);
+  gtk_widget_get_preferred_size (search_window, &requisition, NULL);
 
   if (tree_x + tree_width > gdk_screen_get_width (screen))
     x = gdk_screen_get_width (screen) - requisition.width;
@@ -15038,7 +15037,7 @@ gtk_tree_view_search_position_func (GtkTreeView *tree_view,
   else
     y = tree_y + tree_height;
 
-  gtk_window_move (GTK_WINDOW (search_dialog), x, y);
+  gtk_window_move (GTK_WINDOW (search_window), x, y);
 }
 
 static void
@@ -15073,14 +15072,22 @@ gtk_tree_view_search_preedit_changed (GtkIMContext *im_context,
 
 }
 
+static void
+gtk_tree_view_search_commit (GtkIMContext *im_context,
+                             gchar        *buf,
+                             GtkTreeView  *tree_view)
+{
+  tree_view->priv->imcontext_changed = 1;
+}
+
 static void
 gtk_tree_view_search_activate (GtkEntry    *entry,
                               GtkTreeView *tree_view)
 {
   GtkTreePath *path;
 
-  gtk_tree_view_search_dialog_hide (tree_view->priv->search_window,
-                                   tree_view,
+  gtk_tree_view_search_window_hide (tree_view->priv->search_window,
+                                    tree_view,
                                     gtk_get_current_event_device ());
 
   /* If we have a row selected and it's the cursor row, we activate
@@ -15123,7 +15130,7 @@ gtk_tree_view_search_delete_event (GtkWidget *widget,
 {
   g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
 
-  gtk_tree_view_search_dialog_hide (widget, tree_view, NULL);
+  gtk_tree_view_search_window_hide (widget, tree_view, NULL);
 
   return TRUE;
 }
@@ -15138,7 +15145,7 @@ gtk_tree_view_search_button_press_event (GtkWidget *widget,
   g_return_val_if_fail (GTK_IS_WIDGET (widget), FALSE);
 
   keyb_device = gdk_device_get_associated_device (event->device);
-  gtk_tree_view_search_dialog_hide (widget, tree_view, keyb_device);
+  gtk_tree_view_search_window_hide (widget, tree_view, keyb_device);
 
   return TRUE;
 }
@@ -15191,7 +15198,7 @@ gtk_tree_view_search_key_press_event (GtkWidget *widget,
   if (!tree_view->priv->search_custom_entry_set
       && gtk_tree_view_search_key_cancels_search (event->keyval))
     {
-      gtk_tree_view_search_dialog_hide (widget, tree_view,
+      gtk_tree_view_search_window_hide (widget, tree_view,
                                         gdk_event_get_device ((GdkEvent *) event));
       return TRUE;
     }